<?php
// 应用公共文件

/**
 * 封装统一Api格式返回方法
 * @param $status ,状态码 使用配置文件接管不能输入数字
 * @param string $msg 响应信息
 * @param array $data 返回数据
 * @param int $code 返回的http状态码
 * @return \think\response\Json
 */
function show($status, $msg = '', $data = [], $code = 200) {
    $result = [
        "status" => config('status.' . $status) ?? $status,
        "msg"    => $msg,
        "data"   => $data,
    ];
    return json($result, $code);
}

/**
 * 自定义打印日志
 * @param string|array $msg 内容
 * @param string $fileName 文件名
 * @param int $maxSize 单位M
 */
function debugLog($msg, $fileName = 'debug.log', $maxSize = 2) {
    $filePath = app()->getRuntimePath() . 'log/'. $fileName;
    $fileSize = file_exists($filePath) ? @filesize($filePath) : 0;
    $flag = $fileSize < max(1, $maxSize) * 1024 * 1024;
    $msgPrefix = '[' . date('Y-m-d H:i:s') . ']';
    if (is_array($msg)) {
        $msg = json_encode($msg, JSON_UNESCAPED_UNICODE);
    }
    $msg = $msgPrefix . $msg . "\r\n";
    @file_put_contents($filePath, $msg, $flag ? FILE_APPEND : null);
}

function p() {
    $args = func_get_args();
    foreach($args as $arg) {
        echo "<pre>";
        print_r($arg);
    }
    exit;
}